package lambda.demo;

import javax.swing.plaf.metal.MetalIconFactory;

/***
 * 带有默认实现的接口方法，是不能再lambda表达式中访问的，上面这段代码将无法被编译通过
 */
public class TestLambda {
    /***
     * 在Lambda表达式中，我们可以访问外部的final 类型变量，如下面的示例代码：
     * @param args
     */
    public static void main(String[] args){
        /***
         * 与匿名内部类不同的是，不必显式声明num变量为final类型
         * 但是num的类型必须为final
         */
        int num = 1;
        Converter<Integer,String> stringConverter = (from -> String.valueOf(from + num));
        String res = stringConverter.convert(2);
        System.out.println(res);
    }
}
